#include "iostream"
using namespace std;
#include "Util.h"
#include "FileManager.h"

int main(int argc,char* argv[])
{
	if(21 != argc)
	{
		cout << "Error!!!\n";
	}
	for(int i = 1; i < argc; i = i + 2)
	{
		switch(argv[i][1])
		{
		case 'r':
			Util::trainingFilePath = Util::char_p_To_string(argv[i + 1]);
			break;
		case 't':
			Util::testingFilePath = Util::char_p_To_string(argv[i + 1]);
			break;
		case 'd':
			Util::n_dimension = Util::char_p_To_int(argv[i + 1]);
			break;
		case 'c':
			Util::n_class = Util::char_p_To_int(argv[i + 1]);
			break;
		case 's':
			Util::n_trainingRecord = Util::char_p_To_int(argv[i + 1]);
			break;
		case 'm':
			Util::n_testingRecord = Util::char_p_To_int(argv[i + 1]);
			break;
		case 'n':
			Util::n_midLayerNode = Util::char_p_To_int(argv[i + 1]);
			break;
		case 'l':
			Util::learningRate = Util::char_p_To_double(argv[i + 1]);
			break;
		case 'a':
			Util::misclassificationRate = Util::char_p_To_double(argv[i + 1]);
			break;
		case 'p':
			Util::doPrintPredictionResult = Util::char_p_To_bool(argv[i + 1]);
			break;
		}
	}
	FileManager::Init();
	FileManager::Load_Data();

	FileManager::Self_Test();
	return 0;
}
